package com.tc.dispatch.csservice.ejb;

import java.util.*;

import com.tc.dispatch.csservice.exception.*;
import com.tc.dispatch.csservice.model.*;
import javax.ejb.*;
import com.tc.dispatch.csservice.algorithm.CostAlgorithm;
import com.tc.dispatch.gsservice.model.OrderSumMain;
import com.tc.dispatch.csservice.filter.ComponentFilter;
import com.tc.dispatch.csservice.algorithm.calculation.Calclation;
import com.tc.dispatch.csservice.algorithm.adjust.Adjust;

public interface CSServiceLocal
    extends javax.ejb.EJBLocalObject {


  public void createMaoPi(MaoPiDanJia maopi) throws CSException;

  public void updateMaoPi(MaoPiDanJia maopi) throws CSException;

  public void deleteMaoPi(String ssign) throws CSException;

  public MaoPiDanJia getMaoPi(String ssign) throws CSException;

  public MaoPiDanJia findMaoPi(String wherestring) throws CSException;

  public List findAllMaoPis() throws CSException;



  public List findUndoBaoJia() throws CSException;
  public double getSimilarCost(String ssign, String spec, int fac) throws CSException;




  public double generateEstimateCost(Product p);
  public int getMPTotalNums(String  whereStr) throws CSException;
  public List findMaoPiByPagesWhereStr(int start, int limit, String whereStr) throws CSException;
  public void removeMaoPi(int id) throws CSException;
  public void updateManuCost(ManuCost mc) throws CSException;
  public List findManuCost(String whereStr) throws CSException;
  public List findMinManuCostByPage(int start, int limit, String whereStr) throws CSException;
  public int getMinManuCostTotalNums(String whereStr) throws CSException;
  public void createProcsDetail(ProcsDetail pd) throws CSException;
  public void updateProcsDetail(ProcsDetail pd) throws CSException;
  public void removeProcsDetail(ProcsDetail pd) throws CSException;
  public List findProcsDetail(String whereStr) throws CSException;
  public CostAlgorithm getCostAlgorithm();
  public void generateCaiLiaoFee();
  public void generateProcessFee();
  public void generateCaiLiaoFeeDiff();
  public void generateProcessFeeDiff();
  public List getSortedCombinedSimOrder(Product p);
  public CostEstimateDetail getCostEstimateDetail(OrderSumMain osm, List ossList);
  public CostEstimateDetail getCostEstimateDetail(OrderSumMain osm, List ossList, ComponentFilter filter);
  public List CostEstimateCopy(OrderSumMain osmTo, List ossListTo, OrderSumMain osmFrom, List ossListFrom);
  public List CostEstimateAdjust(OrderSumMain osm, List ossList, Adjust adj, List osmList, HashMap ossMap);
  public List CostEstimateAdjust(OrderSumMain osm, List ossList, String type);
  public List CostEstimateAdjust(OrderSumMain osm, List ossList, Adjust adj, List osmList);
  public void runGPA(OrderSumMain osm);
  public void runBP(int type);
  public int[] predicatorNum(String A, int type);

}